DA1der

Annoyed by not being able to use my Sony DVMC-DA1 in the Mac OS X version of iMovie, I set out to find out what the problem was.  Honestly, I'm still not sure, but it has to do with the way iMovie commands the device to play.

I grabbed the FireWire development kit and tried to do it myself.  Sure enough, it works, and DA1der was born.  This program records video from the DA1, and probably most other FireWire devices.  Give it a try if iMovie lets you down.

This release probably has some bugs, and it certainly has some shortcomings, but give it a try.  I'd like to know if it works for you (or doesn't).

Running DA1der

I tried to make it as easy to use as possible and also put some nice features in.  You can probably figure it out on your own, but here's the scoop:

Start an iMovie project if you don't already have one.  In the project will be a directory called Media.  If you save your clips in there, iMovie will import them for you.  Quit iMovie while you run DA1der.  They probably won't get along because they both bang on the FireWire and the disk.

Run DA1der.  If the FireWire device isn't ready, it'll sit and spin.  It should print a message, but I haven't fixed that.  Get your FireWire device ready and it'll catch on and say "Device Ready".  You shouldn't need to reboot or anything like that.

If you're a stud, you can type in the fields, tabbing between them, and hit return to record and stop.  That's handy if you're used to it.  If you're not, you might hit return by accident and record prematurely.  I think you'll get used to it, and I like working the thing without the mouse if I want.

Settings

Now you're up and running.  You'll see the control panel.  From here you can change some settings and start or stop recording:

Path: This is the directory the clips will be saved in.  You can type it in the field or Choose it from the panel.  If you make this the Media directory for an iMovie project, you'll be all set.

Name: This is the basename for the clip files.  In iMovie, this defaults to "Clip " (with a space on the end).  You can make it something else- and might want to if iMovie has already written some clips in there.  (Or if you don't like spaces in filenames.)  you can also name different scenes to make them easier to keep track of by using a different Name for each.

Number: This will be the number of the next clip to be recorded.  iMovie keeps track of all the clip numbers so you don't overwrite files.  We don't, so be careful.  In general, DA1der does the right thing if it gets a good start.

You can open the Preferences and see two more settings:

Number of Digits: This is the number of digits in the clip numbers.  iMovie uses 2, so clip number one is called "Clip 01" (instead of "Clip 1", for example).  This isn't sanity checked yet, so make it bigger than you need if you're going to record a lot of clips.

Frames per File: This is the maximum number of frames that will be recorded in a clip file.  After this many frames, a new file is started with the next consecutive number.  The default value is what the NTSC version of iMovie uses.  You might need to adjust it for PAL- let me know.  You can make this smaller (even 1 frame if you want).  If you make it bigger, iMovie might choke, but it'll probably work.  Set it to 0 if you don't want a limit.  I don't recommend it, though. :-)

If you quit out of DA1der, it'll save all the settings in your defaults, and they'll get set the next time you run it.  If you mess up the settings, you can clear them with the defaults command.  Just type "defaults delete DA1der" from a Terminal window.  If you do that, make you don't record over your old footage or save it in the wrong directory.

Recording

Once you've got the settings set the way you want, push Record.  There's a brief pause before it gets going, so I hit Record first and then start the video running.

Unlike in iMovie, I don't show you the incoming video.  Maybe next time, but I don't need it and I think it'll make the program more consistent.

When you want to stop it, hit Stop (that's the same button as Record, it'll change while you're recording).  You'll notice that Number changes.  It changes to the next number so you can record right away without changing it yourself (which is usually what you want).

iMovie

Quit DA1der and run iMovie.  It'll notice the clips and ask you if you want to import them.  Say yes, and it will.  Voila!  Just what you wanted, right?

Bugs

There's not as much error checking and reporting as there should be.  I'll put more in as I use it more, but I just wanted to get this out the door.  Let me know what's causing you problems.

The string length will overflow if Digits is set too small (or you you record a zillion clips).  In practice, I don't think that'll be a big deal, but I'll work on it some more later.

The end of the video can be a little glitchy sometimes.  I just let it run long so I can chop it off.  It doesn't seem to happen often.

I do the low-level file I/O with the standard C libraries, and everything else with the Cocoa Frameworks.  This causes two related problems.  First, I convert the filenames to C strings, so they might not come out as you typed them.  Second, I go back and adjust the file type and creator with the actual strings, so if the names do get messed up, the file types won't get set right.  I'll work that out, but it hasn't been a problem for me yet.  It might be a showstopper for those who need Unicode for their languages more than I do.

Similarly, I use the on-screen values for the variables everywhere.  If you change them while recording, the recording will proceed fine, but it'll probably wipe out adjusting the file types.

The settings are only saved when you Quit, so if it crashes, watch out for the clip Number.

The code to set up the device is based on Apple's examples, and I haven't checked it out really carefully (because it seems to work).  If you use a device other than the DVMC-DA1, it might do something weird.  Let me know.

This hasn't been tested under PAL, but it should work.  If the device doesn't report that it's NTSC or PAL, I set it to NTSC, so broken devices might not work.  If that happens, I'll add a Preference to let you choose if it doesn't report.

Finally, I haven't done much OS X coding, and haven't done much NeXT programming lately, so this isn't as slick and cool as it could be.  Most of that's ugly on the inside, though, so hopefully you won't notice. :-)

Contact

Send mail about this program to da1der@photosurrealism.com.  I hope you find it useful.  We haven't finalized the layout of the website yet, so I'm not sure what the URL will be for the program's page, but look in VersionTracker and you should be able to find it.

I'm making this program available for free.  If you like it and want  to reward us, check by our web site from time to time to see if we've got anything for sale.  (It'll be a few months, probably.)  Buy a CD or a DVD or something, OK?

				Happy Digitizing!
				A Braunsdorf